In a traditional three tier architecture, the middle tier typically provides most of the business logic and therefore a semantically rich representation of the data model is often used. In contrast with an In-Memory Computing Engine (MICE), the business logic is provided on the same tier as the data persistency, and this leads to an architecture where the middle tier needs to provide reduced functionality. In most cases, the middle tier just marshals data to and from Hypertext Transfer Protocol (HTTP) requests and responses.
The traditional approach is well-served by tooling that generates intermediate representation of the data model as Data Transfer Objects (DTOs). The creation of these DTOs requires that some metadata is provided or that the DTOs are manually constructed. In either case, a large amount of code and code artifacts are created. Managing the metadata for these DTOs in an IMCE architecture typically involves duplicating metadata already present in the database. In addition, because dedicated DTOs are created, dedicated marshaling code is also required and this leads to undesirable greater overhead.